public class VersionComparator {

    public int compareVersion(String version1, String version2) {
        // 将版本号按照 '.' 分割成修订号列表
        String[] v1Parts = version1.split("\\.");
        String[] v2Parts = version2.split("\\.");

        // 获取修订号的最大长度
        int maxLength = Math.max(v1Parts.length, v2Parts.length);

        // 遍历每一个修订号进行比较
        for (int i = 0; i < maxLength; i++) {
            // 获取当前的修订号，超过长度的部分视为0
            int num1 = i < v1Parts.length ? Integer.parseInt(v1Parts[i]) : 0;
            int num2 = i < v2Parts.length ? Integer.parseInt(v2Parts[i]) : 0;

            // 比较两个修订号
            if (num1 > num2) {
                return 1;
            } else if (num1 < num2) {
                return -1;
            }
        }

        // 如果所有的修订号都相等，则返回0
        return 0;
    }

    public static void main(String[] args) {
        VersionComparator comparator = new VersionComparator();

        // 测试用例
        System.out.println(comparator.compareVersion("1.02.11", "1.2.9"));  // 输出: 1
        System.out.println(comparator.compareVersion("0.1", "0.01"));       // 输出: 0
        System.out.println(comparator.compareVersion("1.1", "1.1.1"));      // 输出: -1
    }
}
